package structuralpattern.component;
/**
 * 抽象菜单组件
 * Menu和MenuItem类就可以只覆盖自己感兴趣的方法
 * Menu类可以包含子菜单，因此需要覆盖add()、remove()、getChild()方法，
 * 但是MenuItem就不应该有这些方法。这里给出的默认实现是抛出异常，你也可以根据自己的需要改写默认实现。
 * */
public class MenuComponent {
    protected String name;
    protected int level;

    public void add(MenuComponent menuComponent) {
        throw new UnsupportedOperationException();
    }

    public void remove(MenuComponent menuComponent) {
        throw new UnsupportedOperationException();
    }

    public MenuComponent getChild(int i) {
        throw new UnsupportedOperationException();
    }

    public String getName() {
        return name;
    }

    public void print() {
        throw new UnsupportedOperationException();
    }
}
